package com.example.event_resource_java.authority.server;

import com.example.event_resource_java.authority.dao.StatisticDao.LearnRecordsDao;
import com.example.event_resource_java.commons.model.LearnTimeBody;
import com.example.event_resource_java.commons.vo.PageResult;
import com.example.event_resource_java.commons.vo.ExamPaperVO;
import com.example.event_resource_java.commons.vo.PracticeStudentPageResult;

public interface StatisticService {

    /**
     * 班级学生练习记录
     */
    PageResult list(String className, String studentName, Integer pageNum, Integer pageSize);

    /**
     * 个人练习记录详情 和 老师查看学生练习记录详情
     */
    PracticeStudentPageResult practiceRecordDetails(Long userId, Integer pageNum, Integer pageSize);

    /**
     * 班级学习时长统计
     */
    PageResult listLearnStatistic(String classname, String studentName, Integer pageNum, Integer pageSize);

    /**
     * 根据类型获取 学生学习详情
     */
    PageResult learnDetails(Long useId, Integer type, Integer pageNum, Integer pageSize);

    /**
     * 观看记录
     */
    boolean saveOrUpdateLearnTime(LearnTimeBody learnTimeBody);

    /**
     * 继续播放视频
     */
    LearnRecordsDao backup(Long allocationId);

    /**
     * 获取练习做题详情
     */
    ExamPaperVO getExamPaper(Long paperId, Long userId);
}
